---
title: Introduction
description: One is a React framework that aims to make full stack development as simple as possible - whether you're making a website, an app, or sharing code between the two.
---

One lets you target both [React Native](https://reactnative.dev) and web with a single codebase, replacing both Metro and a separate web framework with a single framework, with shared file-system routing. One runs on Vite, which brings [many benefits](/docs/faq/#why-vite).

For native builds, One supports both Metro (recommended for stability) and an experimental Vite-based bundler. See [Metro Mode](/docs/metro-mode) for more information.

<CardCol>
  <Card href="/docs/installation" title="Get started" />
  <Card href="/docs/features" title="Features" />
  <Card href="/docs/status" title="Status" />
</CardCol>

## Highlights

- Target native and web at once with typed [file system routes](/docs/routing).
- [Loaders](docs/routing-loader) ala Remix that tree-shake away on the client.
- [Routing modes](/docs/routing-modes) on a per-page basis (SSG, SSR, SPA, and API).
- Preloads all JS for initial load and when hovering links, without need for a route map.
- Includes a [production server](/docs/one-serve) out of the box.

## Use Cases

One works well as:

- A uniquely good way to ship cross-platform apps with shared code.
- A light, fast and opinionated framework for web-only or native-only.

Keep in mind, One is in early development and needs time to stabilize.

For a few more answers to common questions, [see our FAQ](/docs/faq).

## Our Full-Stack Philosophy

One lets you customize your stack as you please but recommends Zero as the first-class solution to data. We think the client-side "sync engine" model it uses is a clear win-win for simpler code and better UX.

Today, we have a starter with `npx one` that sets up an early alpha of Zero, while we work on a more official solution that neatly integrates One and Zero out of the box.

## Acknowledgements

One started as an experiment in porting Expo Router to our [vxrn library](https://vxrn.dev). We since changed much of the internals and added render modes and a variety of features. We&nbsp;owe the Expo team a huge thanks for their pioneering efforts.

One was built thanks to some amazing open source technologies and contributors:

- [React Navigation](https://reactnavigation.org) provides the base routing library.
- [Expo Router](https://docs.expo.dev/router/introduction) for large parts of the initial One router.
- [Software Mansion](https://swmansion.com) for React Native Screens and React Native Gesture Handler.
- [Remix](https://remix.run) for inspiration for the `loader` APIs.
- [Vite](https://vitejs.dev), of course.

And a special thanks to the following individuals:

- [Matias Capeletto](https://x.com/patak_dev) for inviting us to speak at ViteConf, giving the initial spark.
- [Fatih Aygün](https://github.com/cyco130) for freely helping at length, getting us past many hurdles.
- [Hiroshi Ogawa](https://github.com/hi-ogawa) for his expert consulting for which One wouldn't exist without.
- Dan Maier, for graciously gifting us the `one` npm package.
